use crate::bsl::bsl_list::BslList;
pub type HITLS_CERT_X509 = ::std::os::raw::c_void;
pub type HITLS_CERT_CRL = ::std::os::raw::c_void;
pub type HITLS_CERT_Key = ::std::os::raw::c_void;
pub type HITLS_CERT_Store = ::std::os::raw::c_void;
pub type HITLS_CERT_StoreCtx = ::std::os::raw::c_void;
pub type HITLS_TrustedCAList = BslList;
pub type HITLS_CERT_Chain = BslList;
pub type HITLS_CERT_CRLList = BslList;
pub const CERT_STORE_CTRL_SET_VERIFY_DEPTH: HITLS_CERT_CtrlCmd = 0;
pub const CERT_STORE_CTRL_ADD_CERT_LIST: HITLS_CERT_CtrlCmd = 1;
pub const CERT_STORE_CTRL_GET_VERIFY_DEPTH: HITLS_CERT_CtrlCmd = 2;
pub const CERT_STORE_CTRL_ADD_CRL_LIST: HITLS_CERT_CtrlCmd = 3;
pub const CERT_STORE_CTRL_CLEAR_CRL_LIST: HITLS_CERT_CtrlCmd = 4;
pub const CERT_STORE_CTRL_ADD_CA_PATH: HITLS_CERT_CtrlCmd = 5;
pub const CERT_STORE_CTRL_SET_VERIFY_FLAGS: HITLS_CERT_CtrlCmd = 6;
pub const CERT_STORE_CTRL_GET_VERIFY_FLAGS: HITLS_CERT_CtrlCmd = 7;
pub const CERT_STORE_CTRL_SET_DEFAULT_PATH: HITLS_CERT_CtrlCmd = 8;
pub const CERT_CTRL_GET_ENCODE_LEN: HITLS_CERT_CtrlCmd = 200;
pub const CERT_CTRL_GET_PUB_KEY: HITLS_CERT_CtrlCmd = 201;
pub const CERT_CTRL_GET_SIGN_ALGO: HITLS_CERT_CtrlCmd = 202;
pub const CERT_CTRL_GET_ENCODE_SUBJECT_DN: HITLS_CERT_CtrlCmd = 203;
pub const CERT_CTRL_IS_SELF_SIGNED: HITLS_CERT_CtrlCmd = 204;
pub const CERT_KEY_CTRL_GET_SIGN_LEN: HITLS_CERT_CtrlCmd = 400;
pub const CERT_KEY_CTRL_GET_TYPE: HITLS_CERT_CtrlCmd = 401;
pub const CERT_KEY_CTRL_GET_CURVE_NAME: HITLS_CERT_CtrlCmd = 402;
pub const CERT_KEY_CTRL_GET_POINT_FORMAT: HITLS_CERT_CtrlCmd = 403;
pub const CERT_KEY_CTRL_GET_SECBITS: HITLS_CERT_CtrlCmd = 404;
pub const CERT_KEY_CTRL_IS_KEYENC_USAGE: HITLS_CERT_CtrlCmd = 405;
pub const CERT_KEY_CTRL_IS_DIGITAL_SIGN_USAGE: HITLS_CERT_CtrlCmd = 406;
pub const CERT_KEY_CTRL_IS_KEY_CERT_SIGN_USAGE: HITLS_CERT_CtrlCmd = 407;
pub const CERT_KEY_CTRL_IS_KEY_AGREEMENT_USAGE: HITLS_CERT_CtrlCmd = 408;
pub const CERT_KEY_CTRL_GET_PARAM_ID: HITLS_CERT_CtrlCmd = 409;
pub const CERT_KEY_CTRL_IS_DATA_ENC_USAGE: HITLS_CERT_CtrlCmd = 410;
pub const CERT_KEY_CTRL_IS_NON_REPUDIATION_USAGE: HITLS_CERT_CtrlCmd = 411;
pub const CERT_KEY_CTRL_GET_PSS_MD: HITLS_CERT_CtrlCmd = 412;
pub const CERT_CTRL_BUTT: HITLS_CERT_CtrlCmd = 413;
pub type HITLS_CERT_CtrlCmd = ::std::os::raw::c_uint;
pub const TLS_PARSE_TYPE_FILE: HITLS_ParseType = 0;
pub const TLS_PARSE_TYPE_BUFF: HITLS_ParseType = 1;
pub const TLS_PARSE_TYPE_BUTT: HITLS_ParseType = 2;
pub type HITLS_ParseType = ::std::os::raw::c_uint;
pub const TLS_PARSE_FORMAT_PEM: HITLS_ParseFormat = 1;
pub const TLS_PARSE_FORMAT_ASN1: HITLS_ParseFormat = 2;
pub const TLS_PARSE_FORMAT_PFX_COM: HITLS_ParseFormat = 3;
pub const TLS_PARSE_FORMAT_PKCS12: HITLS_ParseFormat = 4;
pub const TLS_PARSE_FORMAT_BUTT: HITLS_ParseFormat = 0;
pub type HITLS_ParseFormat = ::std::os::raw::c_uint;
pub const TLS_CERT_STORE_TYPE_DEFAULT: HITLS_CERT_StoreType = 0;
pub const TLS_CERT_STORE_TYPE_VERIFY: HITLS_CERT_StoreType = 1;
pub const TLS_CERT_STORE_TYPE_CHAIN: HITLS_CERT_StoreType = 2;
pub const TLS_CERT_STORE_TYPE_BUTT: HITLS_CERT_StoreType = 3;
pub type HITLS_CERT_StoreType = ::std::os::raw::c_uint;
pub const TLS_CERT_KEY_TYPE_UNKNOWN: HITLS_CERT_KeyType = 0;
pub const TLS_CERT_KEY_TYPE_RSA: HITLS_CERT_KeyType = 34;
pub const TLS_CERT_KEY_TYPE_RSA_PSS: HITLS_CERT_KeyType = 336;
pub const TLS_CERT_KEY_TYPE_DSA: HITLS_CERT_KeyType = 35;
pub const TLS_CERT_KEY_TYPE_ECDSA: HITLS_CERT_KeyType = 36;
pub const TLS_CERT_KEY_TYPE_ED25519: HITLS_CERT_KeyType = 334;
pub const TLS_CERT_KEY_TYPE_SM2: HITLS_CERT_KeyType = 296;
pub type HITLS_CERT_KeyType = ::std::os::raw::c_uint;
pub const NO_ROOT: HITLS_BUILD_CHAIN_FLAG = 2;
pub const CHECK: HITLS_BUILD_CHAIN_FLAG = 4;
pub const IGNORE_ERROR: HITLS_BUILD_CHAIN_FLAG = 8;
pub type HITLS_BUILD_CHAIN_FLAG = ::std::os::raw::c_uint;
pub const CERT_SIG_SCHEME_RSA_PKCS1_SHA1: HITLS_SignHashAlgo = 513;
pub const CERT_SIG_SCHEME_DSA_SHA1: HITLS_SignHashAlgo = 514;
pub const CERT_SIG_SCHEME_ECDSA_SHA1: HITLS_SignHashAlgo = 515;
pub const CERT_SIG_SCHEME_ECDSA_SHA224: HITLS_SignHashAlgo = 771;
pub const CERT_SIG_SCHEME_RSA_PKCS1_SHA224: HITLS_SignHashAlgo = 769;
pub const CERT_SIG_SCHEME_RSA_PKCS1_SHA256: HITLS_SignHashAlgo = 1025;
pub const CERT_SIG_SCHEME_RSA_PKCS1_SHA384: HITLS_SignHashAlgo = 1281;
pub const CERT_SIG_SCHEME_RSA_PKCS1_SHA512: HITLS_SignHashAlgo = 1537;
pub const CERT_SIG_SCHEME_DSA_SHA224: HITLS_SignHashAlgo = 770;
pub const CERT_SIG_SCHEME_DSA_SHA256: HITLS_SignHashAlgo = 1026;
pub const CERT_SIG_SCHEME_DSA_SHA384: HITLS_SignHashAlgo = 1282;
pub const CERT_SIG_SCHEME_DSA_SHA512: HITLS_SignHashAlgo = 1538;
pub const CERT_SIG_SCHEME_ECDSA_SECP256R1_SHA256: HITLS_SignHashAlgo = 1027;
pub const CERT_SIG_SCHEME_ECDSA_SECP384R1_SHA384: HITLS_SignHashAlgo = 1283;
pub const CERT_SIG_SCHEME_ECDSA_SECP521R1_SHA512: HITLS_SignHashAlgo = 1539;
pub const CERT_SIG_SCHEME_SM2_SM3: HITLS_SignHashAlgo = 1800;
pub const CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA256: HITLS_SignHashAlgo = 2052;
pub const CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA384: HITLS_SignHashAlgo = 2053;
pub const CERT_SIG_SCHEME_RSA_PSS_RSAE_SHA512: HITLS_SignHashAlgo = 2054;
pub const CERT_SIG_SCHEME_ED25519: HITLS_SignHashAlgo = 2055;
pub const CERT_SIG_SCHEME_ED448: HITLS_SignHashAlgo = 2056;
pub const CERT_SIG_SCHEME_RSA_PSS_PSS_SHA256: HITLS_SignHashAlgo = 2057;
pub const CERT_SIG_SCHEME_RSA_PSS_PSS_SHA384: HITLS_SignHashAlgo = 2058;
pub const CERT_SIG_SCHEME_RSA_PSS_PSS_SHA512: HITLS_SignHashAlgo = 2059;
pub const CERT_SIG_SCHEME_UNKNOWN: HITLS_SignHashAlgo = 65535;
pub type HITLS_SignHashAlgo = ::std::os::raw::c_uint;
pub const HITLS_TRUSTED_CA_PRE_AGREED: HITLS_TrustedCAType = 0;
pub const HITLS_TRUSTED_CA_KEY_SHA1: HITLS_TrustedCAType = 1;
pub const HITLS_TRUSTED_CA_X509_NAME: HITLS_TrustedCAType = 2;
pub const HITLS_TRUSTED_CA_CERT_SHA1: HITLS_TrustedCAType = 3;
pub const HITLS_TRUSTED_CA_UNKNOWN: HITLS_TrustedCAType = 255;
pub type HITLS_TrustedCAType = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct HitlsTrustedCANode {
    pub caType: HITLS_TrustedCAType,
    pub data: *mut u8,
    pub dataSize: u32,
}
pub type HITLS_TrustedCANode = HitlsTrustedCANode;
